#ifndef PARSE_H_
#define PARSE_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define TOKEN_MAX_LEN 1000

#define STREQ(a, b) (strcmp(a, b) == 0)

enum 
{
    T_IDENTIFIER,
    T_KEYWORD,
    T_OTHER,
    T_WHITESPACE,
    T_ERROR,
    T_EOF
};


typedef struct token_t {
    char   text[TOKEN_MAX_LEN];
    int    length;
    int    type;
    long   offset;
} token_t;


void 
print_token(token_t * t);


int 
get_next_token(char **s, token_t *t);


int
get_next_int(char **s);


char *
get_input_line(void);


#endif /*PARSE_H_*/
